import locale

from gi.repository import GnomeDesktop

all_locale = [
    "ab_GE.UTF-8",
    "aa_DJ.UTF-8",
    "af_ZA.UTF-8",
    "ak_GH.UTF-8",
    "sq_AL.UTF-8",
    "am_ET.UTF-8",
    "ar_EG.UTF-8",
    "an_ES.UTF-8",
    "hy_AM.UTF-8",
    "as_IN.UTF-8",
    "ar_AE.UTF-8",
    "az_AZ.UTF-8",
    "bs_BA.UTF-8",
    "eu_ES.UTF-8",
    "be_BY.UTF-8",
    "bn_BD.UTF-8",
    "ar_BH.UTF-8",
    "bi_VU.UTF-8",
    "bs_BA.UTF-8",
    "br_FR.UTF-8",
    "bg_BG.UTF-8",
    "my_MM.UTF-8",
    "ca_ES.UTF-8",
    "de_CH.UTF-8",
    "ce_RU.UTF-8",
    "zh_CN.UTF-8",
    "cv_RU.UTF-8",
    "kw_GB.UTF-8",
    "es_CO.UTF-8",
    "es_CR.UTF-8",
    "hr_HR.UTF-8",
    "cs_CZ.UTF-8",
    "da_DK.UTF-8",
    "dv_MV.UTF-8",
    "nl_NL.UTF-8",
    "dz_BT.UTF-8",
    "en_US.UTF-8",
    "en_GB.UTF-8",
    "eo.UTF-8",
    "et_EE.UTF-8",
    "et_EE.UTF-8",
    "fo_FO.UTF-8",
    "hif_FJ.UTF-8",
    "fi_FI.UTF-8",
    "fr_FR.UTF-8",
    "ff_SN.UTF-8",
    "gl_ES.UTF-8",
    "ka_GE.UTF-8",
    "de_DE.UTF-8",
    "el_GR.UTF-8",
    "gu_IN.UTF-8",
    "ht_HT.UTF-8",
    "ha_NG.UTF-8",
    "he_IL.UTF-8",
    "hi_IN.UTF-8",
    "hu_HU.UTF-8",
    "ia_FR.UTF-8",
    "id_ID.UTF-8",
    "en_IE.UTF-8",
    "ga_IE.UTF-8",
    "ig_NG.UTF-8",
    "ik_CA.UTF-8",
    "is_IS.UTF-8",
    "it_IT.UTF-8",
    "iu_CA.UTF-8",
    "ja_JP.UTF-8",
    "kl_GL.UTF-8",
    "kn_IN.UTF-8",
    "ko_KR.UTF-8",
    "ks_IN.UTF-8@devanagari",
    "kk_KZ.UTF-8",
    "km_KH.UTF-8",
    "rw_RW.UTF-8",
    "ky_KG.UTF-8",
    "ky_KG.UTF-8",
    "ko_KR.UTF-8",
    "ku_TR.UTF-8",
    "lo_LA.UTF-8",
    "lb_LU.UTF-8",
    "lg_UG.UTF-8",
    "li_NL.UTF-8",
    "ln_CD.UTF-8",
    "lo_LA.UTF-8",
    "lt_LT.UTF-8",
    "fr_LU.UTF-8",
    "lv_LV.UTF-8",
    "gv_GB.UTF-8",
    "mk_MK.UTF-8",
    "mg_MG.UTF-8",
    "ms_MY.UTF-8",
    "ml_IN.UTF-8",
    "mt_MT.UTF-8",
    "mi_NZ.UTF-8",
    "mr_IN.UTF-8",
    "mn_MN.UTF-8",
    "ne_NP.UTF-8",
    "en_NG.UTF-8",
    "nb_NO.UTF-8",
    "nn_NO.UTF-8",
    "no_NO.UTF-8",
    "nr_ZA.UTF-8",
    "oc_FR.UTF-8",
    "es_CU.UTF-8",
    "om_ET.UTF-8",
    "or_IN.UTF-8",
    "os_RU.UTF-8",
    "pa_IN.UTF-8",
    "fa_IR.UTF-8",
    "pl_PL.UTF-8",
    "ps_AF.UTF-8",
    "pt_BR.UTF-8",
    "ro_RO.UTF-8",
    "ru_RU.UTF-8",
    "sa_IN.UTF-8",
    "sc_IT.UTF-8",
    "sd_IN.UTF-8",
    "se_NO.UTF-8",
    "sm_WS.UTF-8",
    "en_SG.UTF-8",
    "sr_RS.UTF-8",
    "gd_GB.UTF-8",
    "wo_SN.UTF-8",
    "si_LK.UTF-8",
    "sk_SK.UTF-8",
    "sl_SI.UTF-8",
    "so_SO.UTF-8",
    "st_ZA.UTF-8",
    "es_ES.UTF-8",
    "sw_KE.UTF-8",
    "ss_ZA.UTF-8",
    "sv_SE.UTF-8",
    "ta_IN.UTF-8",
    "te_IN.UTF-8",
    "tg_TJ.UTF-8",
    "th_TH.UTF-8",
    "ti_ER.UTF-8",
    "bo_CN.UTF-8",
    "tk_TM.UTF-8",
    "tl_PH.UTF-8",
    "tn_ZA.UTF-8",
    "to_TO.UTF-8",
    "tr_TR.UTF-8",
    "ts_ZA.UTF-8",
    "tt_RU.UTF-8",
    "zh_TW.UTF-8",
    "ug_CN.UTF-8",
    "uk_UA.UTF-8",
    "ur_PK.UTF-8",
    "uz_UZ.UTF-8@cyrillic",
    "ve_ZA.UTF-8",
    "vi_VN.UTF-8",
    "wa_BE.UTF-8",
    "cy_GB.UTF-8",
    "wo_SN.UTF-8",
    "fy_NL.UTF-8",
    "xh_ZA.UTF-8",
    "yi_US.UTF-8",
    "yo_NG.UTF-8",
    "zu_ZA.UTF-8",
    "zu_ZA.UTF-8",
    "pt_BR.UTF-8",
    "pt_PT.UTF-8",
]
all_languages = {}

for _locale in all_locale:
    all_languages[_locale] = GnomeDesktop.get_language_from_locale(_locale, None)

all_languages = dict(sorted(all_languages.items(), key=lambda item: item[1]))
current_language = "{}.{}".format(
    locale.getdefaultlocale()[0], locale.getdefaultlocale()[1]
)
